#ifndef VIEW_H
#define VIEW_H

#include <string>

#include "src/core/mvc/controller.h"
#include "src/gui/itemwidget.h"

class View
{
public:
  virtual void createWidgetForWsp(int wspId, std::string name) = 0;
  virtual ItemWidget* widgetForWsp(int wspId) = 0;

  virtual void newLogEntry(const LoggerRecord& record) = 0;
  virtual void warnUser(const Logger::container_type& container) = 0;

  virtual void newSession() = 0;
  virtual void newDocument() = 0;
  virtual void open() = 0;
  virtual void save() = 0;
  virtual void setWspSaved(const int wspId, const bool saved = true) = 0;
  virtual void saveAll() = 0;

  virtual void setController(Controller* contr) = 0;
};

#endif // VIEW_H
